Systems and Methods for Dynamic and Accurate Pitch Detection

ABSTRACT

Provided is a device for pitch detection within user-defined zones. The device detects a first gesture at a first height based on first output from all or some sensors, and detects a second gesture at a second height based on second output from all or some sensors. The device sets a top and bottom of the user-defined zone based on the first height and the second height, and tracks a location of an object relative to the user-defined zone based on third output, from a subset of sensors, that is generated in response to the object moving over or under the subset of sensors. The device discards output generated from two or more sensors that are not adjacent, measurements from adjacent sensors that differ by more than a distance threshold, and/or output from adjacent sensors with timestamps that differ by more than a time threshold.

CLAIM OF BENEFIT TO RELATED APPLICATIONS

This application is a continuation of U.S. nonprovisional applicationSer. No. 16/589,302 entitled “Systems and Methods for Dynamic andAccurate Pitch Detection”, filed Oct. 1, 2019. The contents ofapplication Ser. No. 16/589,302 are hereby incorporated by reference.

BACKGROUND

Baseball officiating is subjective by virtue of relying on human umpiresto decide whether a pitch crossing over home plate is a ball or astrike. The width of the strike zone (e.g., area over home plate inwhich the pitch is considered a strike) is equal to the width of homeplate (e.g., 17 inches), while the height of the strike zone differs foreach batter. The height of the strike zone is defined to be between theknees and the midpoint between the batter's shoulders and the top of thebatter's pants.

The subjectivity of adjudicating balls and strikes, and the need for ahuman umpire complicates training and gameplay. For example, without anumpire, catcher, batter, or other trained person present by or behindhome plate, a pitcher does not receive the necessary feedback fordetermining if the pitches are correctly executed and thrown in desiredlocations. Moreover, even with a trained person present by or behindhome plate, the subjectivity of adjudicating balls and strikes may offerthe pitcher differing calls especially when pitching to batters ofdifferent heights with different strike zones. For example, one umpiremay perceive a particular pitch and location to be a ball, whereas adifferent umpire may perceive that same particular pitch and location tobe a strike.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates example components of a tracking device in accordancewith some embodiments presented herein.

FIG. 2 provides an example external perspective view of the trackingdevice in accordance with some embodiments presented herein.

FIG. 3 illustrates example operation of the tracking device inaccordance with some embodiments presented herein.

FIG. 4 illustrates an example set of gestures for configuring thetracking device with a user-defined strike zone in accordance with someembodiments presented herein.

FIG. 5 illustrates an example of using the same gesture to configure auser-defined strike zone in accordance with some embodiments presentedherein.

FIG. 6 illustrates an example of other gestures that may be used toconfigure the tracking device in accordance with some embodimentspresented herein.

FIG. 7 illustrates an example of using gestures to select betweendifferent configured strike zones in accordance with some embodimentspresented herein.

FIG. 8 illustrates an example of adapting the tracking device fordifferent users in accordance with some embodiments presented herein.

FIG. 9 illustrates output examples from the tracking device inaccordance with some embodiments.

FIG. 10 presents a process for operation of the tracking device inaccordance with some embodiments presented herein.

FIG. 11 illustrates an anomaly detection example that is based on thenumber of triggered sensors in accordance with some embodimentspresented herein.

FIG. 12 illustrates an anomaly detection example that is based on thetriggering of nonadjacent sensors in accordance with some embodimentspresented herein.

FIG. 13 illustrates an anomaly detection example that is based on thetiming of sensor output in accordance with some embodiments presentedherein.

FIG. 14 illustrates an anomaly detection example that is based on theheight measurements output from sensors in accordance with someembodiments presented herein.

FIG. 15 illustrates an example of a moving object that does not triggerthe anomaly detection and produces valid output tracked by the trackingdevice in accordance with some embodiments presented herein.

FIG. 16 illustrates an example of incorporating input from a third-partydevice or user with output of the tracking device in accordance withsome embodiments presented herein.

FIG. 17 illustrates a user device accessing a sequence of resultsproduced by the tracking device in accordance with some embodimentspresented herein.

FIG. 18 illustrates an example of the tracking device executing atraining game method and tracking the user results for the game inaccordance with some embodiments presented herein.

FIG. 19 illustrates example components of one or more devices, accordingto one or more embodiments described herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements.

Disclosed are systems and methods for dynamic and accurate pitchdetection. The systems and methods can be used to enhance training,practice, and/or gameplay by providing consistent objective calls to apitcher without input from a human. The systems and methods areprimarily adapted for the game of baseball, but can be adapted for otheruses that involve locating the position of a moving ball or objectacross a plane.

A tracking device is provided to implement some or all of the systemsand methods for dynamic and accurate pitch detection. The trackingdevice may be placed at or by home plate, or the pitch tracking locationwhere the position of the moving object is to be detected. The devicemay include a set of sensors that detect an x-y positioning of themoving object when the object moves past a location of the trackingdevice.

To differentiate from other devices that may detect or track positioningof a moving object, and to increase the accuracy of the tracking devicerelative to other devices, the systems and methods described hereininclude gesture configuration of the tracking device. The gesturesinclude human interactions with the set of sensors prior to using thedevice for pitch detection. In some embodiments, the gestures can beused to configure the starting and ending height of the strike zone inorder to adjust the strike zone for batters of different heights,thereby allowing the tracking device to adapt to different strike zonesas would be experienced by a pitcher in actual gameplay rather thanoperate with a single static strike zone.

To further increase the accuracy of the tracking device, the trackingdevice may be implemented with methods for anomaly and/or false positivedetection and removal. These methods allow the tracking device todifferentiate between the target moving object and other objects (e.g.,a bat, leaves, birds, foreign objects, body parts, dust, etc.). Forinstance, the tracking device may use the anomaly detection to determinethat a first set of output produced by the set of sensors is from aswung bat, and may ignore the first set of output. The tracking devicemay use the anomaly detection to determine that a second set of outputproduced by the set of sensors corresponds to the target moving object(e.g., a thrown baseball) and meets all the requirements for a validpitch, and therefore records or tracks the results derived from thesecond set of output.

In some embodiments, the anomaly detection may also increase theaccuracy of a tracked pitch. For example, the tracking device may usethe anomaly detection to determine which output from multiple triggeredsensors of the device identifies the center point of the moving object.Consequently, the tracking device may be able to accurately locate theposition of the moving object to within one quarter of an inch on thex-y plane where the moving object crossed over the tracking device. Theresult is an objectively accurate and consistent tracking of pitcheswithin specific quadrants of a user-defined strike zone.

The tracking device may wirelessly integrate with other third-partydevices to improve training, practice, and/or gameplay. In someembodiments, the tracking device or the system that includes thetracking device may receive or otherwise incorporate input from athird-party device that an umpire, catcher, pitcher, or other user mayuse to record their determination of a pitch being a ball or a strikeand/or the placement of the pitch in or out of the strike zone. Thepitch location determined by the sensors of the tracking device may becompared against the input from the third-party device in real-time tomeasure the accuracy and/or subjectivity of the user.

In some embodiments, the tracking device implements methods that createvarious games for training, practice, and/or gameplay purposes. Forinstance, the tracking device may include visual indicators or may usewireless messaging to instruct a pitcher to throw a specific sequence ofpitches at different locations, and the set of sensors may track theaccuracy of the pitcher in executing pitches that hit the differentlocations identified in the specific sequence of pitches.

FIG. 1 illustrates example components of tracking device 100 inaccordance with some embodiments presented herein. Tracking device 100may include sensors 110, visual indicators 120, microphone 130, networkconnectivity 140, memory or storage 150, processor 160, and power source170. Tracking device 100 may include additional or fewer components indifferent embodiments. For instance, tracking device 100 may omitmicrophone 130 and may include a speaker to audibly identify detectedpitches as balls or strikes, and/or to provide other instruction ornotification to users. In some other embodiments, tracking device 100may include additional visual indicators 120 so that there is one visualindicator 120 aligned with the position of each sensor 110, and/orinclude multiple rows of sensors 110 or more sensors 110 in a given rowfor more accurate or more granular object tracking.

In some embodiments, tracking device 100 has a width equal to or greaterthan a desired width across which device 100 tracks moving objects. Inpreferred embodiments, tracking device 100 has a width that is slightgreater than the width of home plate in baseball. For instance, homeplate may have a width of 17 inches, and tracking device 100 may have awidth of 21 inches to extend 2 inches from either side of the homeplate. One or more of sensors 110 may be placed on either side of the 2inch extension beyond the width of home plate to detect and track ballsto the right or left of the strike zone.

Tracking device 100 may have a low height (e.g., 6 inches) to notobstruct users when placed over the home plate. Additionally, the lowheight allows for tracking device 100 to be buried directly in front ofthe home plate or at the front edge of the home plate so that trackingdevice 100 (e.g., the top of tracking device 100) is flush to the groundor level with home plate.

In some embodiments, tracking device 100 may include 12 sensors 110 thatare placed in a row and that are spaced 0.5 to 3 inches apart. In someother embodiments, tracking device 100 may include more or less sensors110, and may reposition sensors 110 to be closer or further apart fromone another. For instance, tracking device 100 may include multiple rowsof sensors 110 to obtain additional measurements of the target movingobject.

An individual sensor 110 is triggered and produces output when somephysical object is detected directly above that sensor 110. The outputof each sensor 110 may provide a height measurement and/or timestamp ofwhen that sensor was triggered. The height measurement indicates theheight of a moving object relative to the sensor 110 or some configuredposition. For instance, when tracking device 100 is placed into theground so that sensors 110 are parallel to home plate, sensors 110 mayoutput exact height measurements. However, when tracking device 100 isplaced atop home plate with sensors 110 being 6 inches over the homeplate, the height measurements output by sensors 110 may be adjusted toaccount for the 6 inches vertical displacement over home plate. In thiscase, the height measurements produced by sensors 110 may be increasedby 6 inches to compensate for the 6 inch raised position of sensors 110relative to home plate. In some embodiments, tracking device 100 may besuspended over the home plate (e.g., attached to the top of a battingcage) with sensors 110 pointing downwards towards the home plate. Insome such embodiments, the height measurements output by sensors 110 mayagain be adjusted to account for the suspended and downward orientationof sensors 110 relative to the ground surface or the home plate. In anycase, an application running on a mobile device or computer may be usedto configure sensors 110 and/or bias the height measurements taken bysensors 110, if necessary, based on the placement or location oftracking device 100 relative to home plate or a ground surface.

Sensors 110 may include a set of lasers. The set of lasers may emitlaser light, invisible light, or other light upward from the top oftracking device 100. Each sensor 110 can detect when an object crossesthe light emitted from that sensor 110, and can obtain a heightmeasurement for where the object intersects the light. For instance, theobject may refract or reflect the light back to the sensor 110, andbased on the angle of refraction or the timing of the reflection, thesensor 110 can measure the height of the object relative to the sensor110.

In some embodiments, sensors 110 operate at a 400 microsecond (“μs”)frequency. In some embodiments, sensors 110 may operate at a faster orslower frequency.

In addition to the height measurements, sensors 110 may also determinethe speed of the moving object and/or the trajectory of the movingobject. A baseball has a particular size and diameter. Accordingly,tracking device 100 may compute the speed of a baseball based on thefrequency of sensors 110 and the time between the first detection of thebaseball by one or more sensors 110 and the last detection of thebaseball by the same one or more sensors 110.

In some embodiments, sensors 110 may include other optical or acousticinstruments for obtaining one or more measurements about a movingobject. For instance, the sensors 110 may include cameras, infraredsensors, and/or depth sensors in addition to or instead of lasers.

Visual indicators 120 provide visual output to users. The visual outputmay provide feedback, instruction, and/or confirmation to users. Visualindicators 120 may flash different colors and/or may flash in differencesequences to generate the visual output.

In some embodiments, visual indicators 120 may use different colorsand/or flashing sequences to indicate when tracking device 100 hasentered a configuration mode, when a first end (e.g., top or bottom) ofthe strike zone has been set with a gesture or command, and when asecond end of the strike zone has been set with a gesture or command.Visual indicators 120 may illuminate with different colors and/orflashing sequences to differentiate between balls and strikes, and mayfurther illuminate with different colors and/or flashing sequences toindicate a strike zone quadrant where the pitch is detected (e.g., oneflash of a first color to indicate a strike in the upper right quadrant,one flash of a second color to indicate a strike in the upper middlequadrant, one flash of a third color to indicate a strike in the upperleft quadrant, two flashes of the first color to indicate a strike inmiddle right quadrant, etc.).

Visual indicators 120 may be used to instruct users on actions to take.For instance, visual indicators 120 may use different colors and/orflashing sequences to indicate a particular strike zone quadrant where apitcher should throw a next pitch. Visual indicators 120 may also usethe different colors and/or flashing sequences to specify a particulartype of pitch (e.g., fastball, slider, breaking ball, change up, etc.)for the pitcher to throw.

Visual indicators 120 may include one or more light emitting diodes(“LEDs”) or other lights that are visible when outdoors from a distance.In some embodiments, visual indicators 120 may include a distinctindicator for each sensor 110, or a distinct indicator for each quadrantof the strike zone. By activating a specific indicator corresponding toa specific sensor 110 or a specific quadrant, tracking device 100 maysimplify the instruction on where a pitch is to be thrown or thefeedback for where a pitch was detected. In some embodiments, visualindicators 120 may include a display that can present different symbolsor characters.

In some embodiments, visual indicators 120 may include one or morelights that are located about the top tracking device 100, and that areused to convey information to a batter or umpire standing over trackingdevice 100. In some embodiments, visual indicators 120 may include oneor more lights that are located on a front face of tracking device 100,and that are used to convey the same or different information to apitcher that a distance away from tracking device 100.

Microphone 130 may be an optional component to support one or moremethodologies implemented by tracking device 100. For instance,microphone 130 may record an audible call made by an umpire or nearbyuser after a pitch is detected using sensors 110. The input captured bymicrophone 130 may then be compared against the sensor output todetermine if the audible call was correct or accurate. For instance, thespoken phrase “ball” captured by microphone 130 may be compared againstoutput from a subset of sensors 110 that indicate a pitch within thestrike zone, and tracking device 100 may determine that the audible callwas incorrect based on the comparison of microphone 130 input andsensors 110 output.

Network connectivity 140 may include wired or wireless means ofcommunicating with other devices and/or systems. Network connectivity140 may include one or more Bluetooth, WIFI, Fourth Generation (“4G”),or Fifth Generation (“5G”) network radios for wireless communicationswith other devices and/or systems.

Network connectivity 140 may be used to receive messaging forconfiguring tracking device 100. For instance, network connectivity 140may receive messaging for calibrating the height of sensors 110 relativeto the home plate or ground surface, or for selecting between differentconfigured or stored user-defined strike zones.

Network connectivity 140 may also be used to transmit messaging. Thetransmitted messaging may include providing positioning of detectedpitches to a user device so that the user can view the results and/oraccuracy of the pitches on the user device. For instance, thetransmitted messaging may present a strike zone quadrant on the userdevice and a location for each pitch of a sequence of pitches thrown bya pitcher to one or more batters. The messaging may provide additionalinformation about each pitch (e.g., velocity, pitch type, etc.) or thebatter (e.g., contact made, no swing, etc.).

The transmitted messaging may include providing a pitch plan to a userdevice, and the pitch plan may then be displayed on the user device inorder to instruct the pitcher on what pitches to throw and where tolocate each pitch.

Memory or storage 150 may store the instructions executed by processor160. Memory or storage 150 may also store configuration information fordifferent users including different strike zones that userscustom-define using the supported gestures. Memory or storage 150 mayalso store pitch plans and tracked position information for differentdetected pitches and/or moving objects. The position information mayinclude positional coordinates that are mapped against a selected strikezone. From the position information, additional information may bederived for each pitch, including whether the pitch was a ball or strikeand/or the position of the pitch within or outside the strike zonequadrants. Other information including the pitch velocity, type ofpitch, etc. may be stored and catalogued for different pitchers and/orbatters in memory or storage 150.

Processor 160 may include an analog-to-digital converter for receivingand analyzing output from sensors 110. Processor 160 may include logicand/or circuitry for determining balls and strikes, for locating pitcheswithin quadrants of a user-defined strike zone, and/or for tracking theaccuracy of calls made by users using third-party devices or via inputreceived from microphone 130. Processor 160 may also control activationof visual indicators 120 and/or communicate with other devices usingnetwork connectivity 140. In particular, processor 160 may signal asequence of desired pitches or pitch locations and/or results ofdetected pitches via visual indicators 120 and/or network connectivity140.

Power source 170 may include an onboard battery for powering operationof tracking device 100. Power source 170 may, alternatively oradditionally, include wiring for connecting tracking device 100 to acontinuous power supply (e.g., an outlet).

FIG. 2 provides an example external perspective view of tracking device100 in accordance with some embodiments presented herein. As shown inFIG. 2, visual indicators 120 may include a first strip of lights aboutthe front of device 100 and/or a second of lights about the top ofdevice 100 that can illuminate with different colors and that can flashwith different light sequences. Sensors 110 may be located towards thefront or back of device 100 and closest to the edge of home plate orwhere measurements are to be taken.

FIG. 3 illustrates example operation of tracking device 100 inaccordance with some embodiments presented herein. FIG. 3 illustratesobject 310 (e.g., a baseball) passing through lasers emitted from twoadjacent sensors 320 and 330 from the set of sensors 110.

Sensors 320 and 330 obtain and output height measurements in response tobeing triggered by the passage of object 310 or in response to detectingobject 310. Tracking device 100 can locate the horizontal position ofobject 310 in quadrants of strike zone 340 based on the positioning ofsensors 320 and 330 in the set of sensors 110 and/or the positioning ofsensors 320 and 330 on tracking device 100. Tracking device 100 canfurther locate the vertical position of object 310 in the quadrants ofstrike zone 340 based on the height measurements output from sensors 320and 330.

As shown in FIG. 3, tracking device 100 may track position 350 in strikezone 340 based on the output from sensors 320 and 330, and trackingdevice 100 may determine that object 310 resulted in a strike call.Tracking device 100 may output the call result using visual indicators120 or via messaging that is passed using network connectivity 140.Tracking device 100 may also output data providing position 350 instrike zone 340 using visual indicators 120 or via messaging that ispassed using network connectivity 140.

In baseball, different batters are provided different strike zones thatcorrespond to their height. Accordingly, a first batter that is 6 foot 5inches tall and that has an erect batting stance will have a strike zonethat is elevated and that is larger in height than a second batter thatis 5 foot 8 inches tall and that has a crouched batting stance.Consequently, the same pitch may result in a strike for the firstbatter, and may result in a ball for the second batter. By rule, thestrike zone in baseball should be between the knees and the midpointbetween the batter's shoulders and the top of the batter's pants.

Tracking device 100 can adapt the strike zone, that it uses todifferentiate between balls and strikes, for batters of differentheights. The non-static and dynamic strike zones used by tracking device100 increase the accuracy and effectiveness of tracking device 100relative to other devices that use a fixed or static strike zone. Byadapting the strike zone, tracking device 100 can account for factorsthat pitchers adjust to during live games and/or when facing differentbatters.

Tracking device 100 supports a set of gestures that users can input viasensors 110 to define a custom strike zone. Tracking device 100 may thenuse the custom strike zone to classify pitches as balls and strikes, andto locate the pitches within quadrants that are adapted based on thedimensions of the custom strike zone. In other words, tracking device100 adjusts each quadrant according to the overall size of theuser-defined strike zone. In some embodiments, tracking device 100 maycompute 9 equal sized quadrants that are arranged in 3 rows for eachuser-defined strike zone. In some other embodiments, tracking device 100may compute more or less quadrants that are of equal or different sizesfor a user-defined strike zone in order to focus pitches in certainlocations and/or increase or decrease the difficulty of hitting specifictargets or locations within the user-defined strike zone.

FIG. 4 illustrates an example set of gestures for configuring trackingdevice 100 with a user-defined strike zone in accordance with someembodiments presented herein. As shown in FIG. 4, a user may place(at 1) a hand over some or all sensors 110 to set a first height foruser-defined strike zone 410. In some embodiments, setting the firstheight may include performing a first gesture in which the user keepshis hand at the first height for a threshold amount of time. Keeping thehand at a fixed height for the threshold amount of time may causetracking device 100 to enter a strike zone setting or configuration modeand to take a first measurement for the first height based on thedetected height of the user's hand. For instance, the user may place (at1) his hand over some or all sensors 110 for three seconds to activatethe configuration mode and to set the first height. The first height mayinclude the top or bottom of user-defined strike zone 410, wherein thedetermination of the top or bottom is subsequently determined based onwhether a second height measurement, taken after the first heightmeasurement, is above or below the first height measurement. In FIG. 4,the first height is used to set the top of user-defined strike zone 410which should correspond to the midpoint between the user's shoulders andbeltline.

In some embodiments, tracking device 100 may differentiate between aleft-handed batter and a right-handed batter when configuringuser-defined strike zone 410 based on which sensors 110 detect theuser's hand. In FIG. 4, the rightmost sensors 110 detect the user'shand, and tracking device 100 may therefore configure user-definedstrike zone 410 for a right-handed batter. The differentiation between aleft-handed batter and a right-handed batter may be for determiningwhich side of the strike zone is inside relative to the batter, andwhich side of the strike zone is outside relative to the batter. Forinstance, some pitchers may have difficulty pitching inside to a batterbecause of the presence of the batter's body. Accordingly, thedifferentiation of the strike zone for left-handed batters andright-handed batters can aide the user in reviewing pitch results and/ordata at a subsequent time.

Tracking device 100 may provide visual confirmation once the firstheight is set. The visual confirmation may be provided by flashing oractivating visual indicators 120.

After setting the first height for user-defined strike zone 410, theuser may move his hand to set the second height of user-defined strikezone 410. The user may use a second gesture to indicate when the secondheight should be set. For instance, the user may wave (at 2) his hand toset the second height. A side-to-side waving of the hand may cause oneor more sensors 110 to be repeatedly triggered, and the repeatedtriggering of sensors 110 may result in the second height being set.

The second height can be above or below the first height. Trackingdevice 100 automatically adjusts the top of user-defined strike zone 410according to whichever of the first height and the second height isgreater, and adjusts the bottom of user-defined strike zone 410according to whichever of the first height and the second height islower.

In response to detecting and setting the first and second heights,tracking device 100 may define coordinates or values for user-definedstrike zone 410 that relative to coordinates or values for heightmeasurements output by sensors 110. Tracking device 100 may also computecoordinates or values for different quadrants within user-defined strikezone 410 based on the coordinates or values for the first and secondheights and the width of user-defined strike zone 410. Tracking device100 may then use (at 3) user-defined strike zone 410 to determine ballsand strikes for any subsequently detected moving objects, and to locatethe position of those moving objects relative to user-defined strikezone 410. Additionally, tracking device 100 may enter (at 3)user-defined strike zone 410 into memory or storage 150 where it can bestored for subsequent selection and use.

In some embodiments, tracking device 100 may enter (at 3) user-definedstrike zone 410 into memory or storage 150 with a unique useridentifier. The unique user identifier may be obtained from a userdevice that is within wireless range of network connectivity 140. Forinstance, the user device may wirelessly communicate user credentials, auniversally unique identifier (“UUID”), a telephone number, or otheruser identifier to tracking device 100 upon entering in wireless rangeof a wireless network created by tracking device 100. Tracking device100 may then associate user-defined strike zone 410 with the useridentifier so that the next time the user device with the useridentifier is detected by tracking device 100, tracking device 100 mayautomatically define the strike zone for the user based on user-definedstrike zone 410.

In some embodiments, the user may use an application to configure a nameor identifier for user-defined strike zone 410, and tracking device 100may receive and associate the name or identifier to user-defined strikezone 410. Accordingly, the user may subsequently use the application toselect the name or identifier, and in response to a selection of thename or identifier, tracking device 100 may automatically configure thestrike zone for the user based on user-defined strike zone 410.

In some embodiments, the same gesture, instead of different gestures(e.g., holding and waving), may be used to set each of the first andsecond heights for user-defined strike zone 410. FIG. 5 illustrates anexample of using the same gesture to configure user-defined strike zone510 in accordance with some embodiments presented herein.

As shown in FIG. 5, the user may place (at 1) his hand over one or moresensors 110 at a first height, and may keep the hand at the first heightfor three seconds to initiate the configuration mode and to set thefirst height for either the top or bottom of user-defined strike zone510. The user may raise or lower (at 2) his hand to a desired secondheight for an opposite end of user-defined strike zone 510. The user maykeep (at 3) his hand over one or more sensors 110 at the second heightfor three seconds to set the second height for user-defined strike zone510 and to exit from the configuration mode.

In FIG. 5, the same place and hold gesture is used to define the top andbottom of user-defined strike zone 510. The duration for the gesture maybe greater or less than 3 seconds in different embodiments. In someembodiments, tracking device 100 may use visual indicators 120 to notifythe user when the configuration mode has been initiated, when the firstheight is set, when the second height is set, and/or when theconfiguration mode is complete and user-defined strike zone 510 has beenstored. Accordingly, the user need not guess on when to move his hand inorder to set the different heights.

FIG. 6 illustrates an example of other gestures that may be used toconfigure tracking device 100 in accordance with some embodimentspresented herein. In FIG. 6, the user may extend (at 1) his arm or a batover all sensors 110 to set a first height for first end of user-definedstrike zone 610. This first gesture may further include retracting thearm or bat to complete setting the first height. The user may thenextend (at 2) his arm or the bat over a subset of sensors 110 (e.g.,half of sensors 110) to set a second height for an opposite second endof user-defined strike zone 610. Tracking device 100 may receive inputfrom sensors 110, process the input in order to detect the differentgestures for configuring user-defined strike zone 610, and generate (at3) user-defined strike zone 610 based on the first and second heightsthat are derived from user-provided inputs to sensors 110.

FIGS. 4-6 illustrate different gestures that can be detected by sensors110 of tracking device 100, and that can be used to configure auser-defined strike zone with which tracking device 100 determines aresult (e.g., ball or strike) and/or position (e.g., location on oraround quadrants that are generated for the user-defined strike zone) ofa detected moving object. Some embodiments recognize and use differentgestures that than those described in FIGS. 4-6 to configure theuser-defined strike zone. A gesture may include any user-performedaction that can be detected by sensors 110 of tracking device 100.

In some embodiments, one or more of the gestures may be used toconfigure other parameters or aspects of tracking device 100. Forinstance, gestures may be used to change an operating mode of trackingdevice 100, including changing between different pitch plans, changingbetween different stored user-defined strike zones, changing operationof visual indicators 120 (e.g., turning on or off the lights), changingmessaging feedback provided via network connectivity 140, placingtracking device 100 in a standby mode or waking tracking device 100 fromthe standby mode, etc.

FIG. 7 illustrates an example of using gestures to select betweendifferent configured strike zones in accordance with some embodimentspresented herein. As shown in FIG. 7, a user may perform (at 1) aparticular gesture over first sensor 110-1 of the set of sensors 110 toconfigure (at 2) tracking device 100 with first strike zone 710, mayperform (at 3) the particular gesture over second sensor 110-2 toconfigure (at 4) tracking device 100 with second strike zone 720, andmay perform (at 5) the particular gesture over third sensor 110-3 toconfigure (at 6) tracking device 100 with third strike zone 730. Theparticular gesture may include holding a hand over one of sensors 110for a threshold amount of time. In some embodiments, different gesturesmay be used to select between the different strike zones 710, 720, and730.

Each of first strike zone 710, second strike zone 720, and third strikezone 730 may have different dimensions to accommodate users of differentheights. For instance, first strike zone 710 may range from 16-36 inchesabove home plate, whereas second strike zone 720 may range from 14-40inches above home plate. Each of first strike zone 710, second strikezone 720, and third strike zone 730 may be user-defined by the same useror different users and associated with the different sensors 110-1,110-2, and 110-3 when defined. Each of first strike zone 710, secondstrike zone 720, and third strike zone 730 may be configured on trackingdevice 100 via an application that is running on a user device (e.g., asmartphone), and may be associated with a different sensor using theapplication.

In some embodiments, tracking device 100 may store a different strikezone for each of sensors 110, and/or store a different strike zone whenperforming the particular gesture over different numbers of sensors. Forinstance, tracking device 100 may select and configure a fourth strikezone in response to detecting the particular gesture over first andsecond sensors 110-1 and 110-2, and may select and configure a fifthstrike zone in response to detecting the particular gesture over first,second, and third sensors 110-1, 110-2, and 110-3.

FIG. 8 illustrates an example of adapting tracking device 100 fordifferent users in accordance with some embodiments presented herein. Afirst user or batter may use a first set of gestures to configure (at 1)first user-defined strike zone 810. The first user or batter may be of afirst height, and may therefore configure (at 1) first user-definedstrike zone 810 according to the first height.

Tracking device 100 may track (at 2, 3, 4, and 5) a first sequence ofpitches relative to first user-defined strike zone 810. In particular,the first sequence of pitches results (at 2) in a first pitch beingclassified as a ball as a result of the first pitch being tracked abovefirst user-defined strike zone 810, results (at 3) in a second pitchbeing classified as a strike as a result of the second pitch beingtracked within the left quadrants of first user-defined strike zone 810,results (at 4) in a third pitch being classified as a strike as a resultof the third pitch being tracked in the right quadrants of firstuser-defined strike zone 810, and results (at 5) in a fourth pitch beingclassified as a ball as a result of the fourth pitch being tracked belowfirst user-defined strike zone 810.

FIG. 8 then illustrates a second set of gestures that change (at 6) fromfirst user-defined strike zone 810 to second user-defined strike zone820. Second user-defined strike zone 820 may be smaller (e.g., have lessdistance between the top end and the bottom end) than first user-definedstrike zone 810, and may have a bottom end that is lower than the bottomend of first user-defined strike zone 810 (e.g., a lower startingelevation). For instance, a second user or batter may be shorter thanthe first user or batter, and may configure second user-defined strikezone 820 to account for this difference in user height. Tracking device100 may automatically resize (at 7) the quadrants of second user-definedstrike zone 820 to fit within the top and bottom ends of seconduser-defined strike zone 820.

Tracking device 100 may track (at 8, 9, 10, and 11) a second sequence ofpitches that are thrown in the same positions as the first sequence ofpitches. However, tracking device 100 may track (at 8, 9, 10, and 11)the second sequence of pitches relative to newly configured and/orselected second user-defined strike zone 820 instead of previouslyconfigured and/or selected first user-defined strike zone 810. Seconduser-defined strike zone 820, because of its different dimensions andplacement, causes the second sequence of pitches to be classifieddifferently than the first sequence of the pitches even though thepitches of the two sequences are thrown in the exact same locations.Specifically, the second sequence of pitches results (at 8) in a fifthpitch, that is similar to the first pitch from the first sequence ofpitches, being classified as a ball as a result of the fifth pitch beingtracked above second user-defined strike zone 820, results (at 9) in asixth pitch, that is similar to the second pitch, being classified as aball as a result of the sixth pitch being tracked above seconduser-defined strike zone 820, results (at 10) in a seventh pitch, thatis similar to the third pitch, being classified as a strike as a resultof the seventh pitch being tracked in the right quadrants of seconduser-defined strike zone 820, and results (at 11) in an eighth pitch,that is similar to the fourth pitch, being classified as a strike as aresult of the eighth pitch being tracked in the bottom quadrants ofsecond user-defined strike zone 820. Consequently, first user-definedstrike zone 810 and second user-defined strike zone 820 producedifferent outcomes and charting of pitches (e.g., location of pitches instrike zone quadrants) for the same sequence of pitches.

FIG. 9 illustrates output examples from tracking device 100 inaccordance with some embodiments. Tracking device 100 may provide theoutput after each tracked pitch or after a sequence of tracked pitches.Tracking device 100 may provide the output via visual indicators 120,and also via wireless messaging that is passed to connected user devices910, 920, and 930 as shown in FIG. 9. The output provided in FIG. 9 isbased on the first and second sequences of pitches illustrated in FIG.8.

User device 910 may be associated with first user or batter 915, and mayconnect to tracking device 100 when first user or batter 915 is neartracking device 100. For instance, tracking device 100 may use aBluetooth radio to detect a user device that is within 10 feet oftracking device 100. User device 910 may be in the pocket of first useror batter 915, or may be placed next to tracking device 100 prior to thefirst sequence of pitches being thrown.

User device 920 may include a device of the pitcher, a coach, or otheruser. User device 920 may connect to tracking device 100 via Bluetooth,WIFI, or another wireless network technology. User device 920 may beidentified with different parameters or privileges than user device 910.For instance, user device 920 may identify a user device of the pitcher,coach, or other user that receives all pitch information, whereas userdevice 910 may identify first batter or user 915 that receives only thepitch information for the first sequence of pitches when first batter oruser 915 is in the batter's box and/or user device 910 is connected totracking device 100.

The first sequence of pitches is classified and tracked according tofirst user-defined strike zone 810, and tracking device 100 may providethe output for the first sequence of pitches to user devices 910 and920. In particular, user devices 910 and 920 may receive the calls(e.g., ball or strike) for each pitch of the first sequence of pitchesas determined using first user-defined strike zone 810. Each pitch maybe timestamped, identified in the sequence, and/or provided withadditional identifying information (e.g., speed, pitch type, etc.).Additionally, tracking device 100 may provide user devices 910 and 920with data for producing first visual representation 940 that tracks thefirst sequence of pitches in first user-defined strike zone 810.

In response to configuration of second user-defined strike zone 820 orin response to detecting user device 910 moving out-of-range of and/ordisconnecting from tracking device 100, and user device 930 moving intorange of and/or connecting to tracking device 100 before the secondsequence of pitches, tracking device 100 may determine that second useror batter 935 has entered into the batter's box and is ready to receivethe second sequence of pitches. Accordingly, tracking device 100 mayalter the devices that receive subsequent output. In particular, outputresulting from the second sequence of pitches is now provided to userdevices 920 and 930, and may exclude user device 910 of first user orbatter 915. In particular, user devices 920 and 930 may receive thecalls (e.g., ball or strike) for each pitch of the second sequence ofpitches as determined using second user-defined strike zone 820.Additionally, tracking device 100 may provide user devices 920 and 930with data for producing second visual representation 950 that tracks thesecond sequence of pitches in second user-defined strike zone 820.

The data may be transmitted to each of user devices 910, 920, and 930via network connectivity 140. Moreover, the data may be transmittedwithout any action by the users. For instance, user devices 910 and 930may receive data for tracked pitches while user devices 910 and 930 arein range (e.g., a short distance) of tracking device 100, and trackingdevice 100 may automatically adjust the data according to whicheveruser-defined strike zone (e.g., user-defined strike zones 810 and 820)is configured or selected at the time different pitches are detected.

In this manner, tracking device 100 provides data that is relevant toeach of devices 910, 920, and 930. For instance, each batter 915 and 935may receive pitch information and/or data about the sequence of pitchesfaced by that batter 915 and 935, while a particular pitcher, coach, orother user can receive pitch information and/or data about all pitchesthrough by that particular pitcher and/or other pitchers.

FIG. 10 presents a process 1000 for operation of tracking device 100 inaccordance with some embodiments presented herein. Process 1000 mayinclude detecting (at 1010) a user device. Detecting a user device mayinclude detecting when the user device enters in range of a wirelessnetwork created by tracking device 100, connects to tracking device 100,and/or communicates with tracking device 100. The user device mayinclude a smartphone, laptop, tablet, or any other network-enableddevice that can connect to tracking device 100 via wired or wirelessmeans.

Process 1000 may include determining (at 1020) if a configurationprocedure is initiated. The configuration procedure may be initiated inresponse to tracking device 100 detecting, via sensors 110, one or moregestures that are performed by a user, wherein the one or more gesturesare configured to initiate the configuration procedure. Theconfiguration procedure may also be initiated in response to wirelessmessaging transmitted by the detected user device to tracking device100. For instance, the user device may run an application with which auser can configure various parameters or aspects of tracking device 100.The configuration procedure may include a procedure for configuring auser-defined strike zone.

In response to determining (at 1020—Yes) that the configurationprocedure is initiated, process 1000 may include defining (at 1030) auser-specific configuration based on received user input (e.g.,gestures). The user-specific configuration may include a user-definedstrike zone and/or other configurable parameters or aspects of trackingdevice 100. Process 1000 may include associating (at 1040) theuser-specific configuration to the detected user device or a user of thedetected user device. The association links the user-specificconfiguration to the user device so that the user-specific configurationcan be defined once and reused, if desired, whenever a user with theuser device returns to use tracking device 100. In some embodiments, theuser-specific configuration may be stored with an identifier thatuniquely identifies the user device or the associated user, and theidentifier may be obtained by tracking device 100 upon connecting to orcommunicating with the user device. In some embodiments, tracking device100 may store multiple user-specific configurations for the same userdevice, and a user may select between the stored user-specificconfigurations using an application that is running on the user deviceand that communicates with tracking device 100. Process 1000 may includeselecting (at 1045) and configuring tracking device 100 with the defineduser-specific configuration.

In response to determining (at 1020—No) that the configuration procedurehas not been initiated, process 1000 may include determining (at 1050)whether a user-specific configuration is associated with the detecteduser device. Here, process 1000 involves selecting a user-specificconfiguration that was previously defined by the user of the user deviceif such a user-specific configuration exists so that the user does nothave to redefine the configuration each time before using trackingdevice 100. For instance, the first time a user uses tracking device100, the user may define a user-specified strike zone using thegestures. Tracking device 100 may associate that user-specified strikezone with an identifier that identifies the user or user device suchthat the next time the user returns to use tracking device 100, trackingdevice 100 can automatically select and configure with the previoususer-specified strike zone.

In response to determining (at 1050—No) that a user-specificconfiguration is not associated with the user device (or the user of theuser device), process 1000 may include selecting (at 1055) a defaultconfiguration and configuring tracking device 100 with the defaultconfiguration. The default configuration may include a default strikezone that is defined for an average batter, or may include a lastconfigured user-defined strike zone (e.g., a configuration that may havebeen defined by another user).

In response to determining (at 1050—Yes) that a user-specificconfiguration is associated with the user device (or the user of theuser device), process 1000 may include selecting (at 1060) thatuser-specific configuration from memory or storage 150, and configuringtracking device 100 with the selected (at 1060) user-specificconfiguration. In this scenario, tracking device 100 automaticallyretrieves and configures with a configuration that was previouslyspecified by the user without the user having to redefine theconfiguration.

Regardless of the configuration that is selected (at 1045, 1055, or1060), process 1000 may include determining (at 1070) a vertical andhorizontal position of an object passing over tracking device 100 basedon one or more triggered sensors 110 of tracking device 100. Process1000 may include tracking (at 1080) the object positioning relative tothe selected configuration (e.g., selected strike zone), and providing(at 1090) data relating to the object positioning to the user deviceand/or other connected user devices.

Sensors 110 may accurately determine the horizontal position of a movingobject based on the location of one or more sensors 110 that detect themoving object. Sensors 110 may accurately determine the verticalposition of a moving object based on measurements obtained from outputof the triggered sensors 110 or sensors 110 detecting the moving object.However, objects other than a target object (e.g., a thrown ball) mayproduce output on one or more of sensors 110 leading to false positivesand data inaccuracy. For instance, flies, birds, baseball bats, bodyparts, and/or other objects may create undesired output on one or moresensors 110, and that output can pollute the tracking data generated bytracking device 100.

Some embodiments implement and provide tracking device 100 with methodsfor anomaly detection and false positive removal. The anomaly detectiondifferentiates between sensor measurements produced by a desired targetobject and sensor measurements produced by other undesired objects.Moreover, the anomaly detection ignores or removes the sensormeasurements produced by the other undesired objects so that the resultsprovided by tracking device 100 are accurate and do not contain datathat must be manually filtered. The anomaly detection prevents trackingdevice 100 from tracking and recording anything and everything that isdetected by sensors 110.

FIG. 11 illustrates an anomaly detection example that is based on thenumber of triggered sensors 110 in accordance with some embodimentspresented herein. The anomaly detection illustrated in FIG. 11 may bedirectly implemented on tracking device 100 and/or by processor 160 whenprocessing output from sensors 110. As shown in FIG. 11, a moving objectsimultaneously or contemporaneously (e.g., within a few milliseconds)produces (at 1) similar height measurements on 5 of 12 adjacent sensors110.

Processor 160 may receive (at 2) the output from the triggered 5sensors, and may determine (at 3) that the number of simultaneously orcontemporaneously triggered sensors is greater than a threshold numberspecified for a target object (e.g., a baseball). For instance, thethreshold number of sensors that should be triggered by the targetobject may be 2 when the spacing separating 2 adjacent sensors is equalto or greater than the diameter of the moving object. In this example,the 5 adjacent sensors may be triggered in response to a swung baseballbat, an arm, or other object crossing over tracking device 100.Accordingly, processor 160 may detect the false positive and may ignore(at 4) the output rather than determine a position of the object withina user-defined strike zone.

FIG. 12 illustrates an example of anomaly detection by tracking device100 that is based on the triggering of nonadjacent sensors 110 inaccordance with some embodiments presented herein. As shown in FIG. 12,a moving object simultaneously or contemporaneously (e.g., within a fewmillisecond) produces (at 1) similar height measurements on 2nonadjacent sensors 110.

Processor 160 may receive (at 2) the output from the 2 nonadjacentsensors, and may determine (at 3) from sensor identifiers included withthe sensor output that the measurements are for an undesired objectbecause the output is produced by nonadjacent sensors. Specifically, thedesired target object has a diameter, width, or shape that would produceoutput on at least 2 to 3 adjacent sensors depending on its movement. Insome embodiments, the output of each sensor 110 is tagged with a sensoridentifier that identifies which sensor 100 produces the output, and theidentifier can be mapped to a particular sensor location such thatnonconsecutive sensor identifiers identify output from nonadjacentsensors. Accordingly, processor 160 may detect the false positive andmay ignore (at 4) the output rather than determine a position of theobject within a user-defined strike zone.

FIG. 13 illustrates an example of anomaly detection by tracking device100 that is based on the timing of sensor output in accordance with someembodiments presented herein. As shown in FIG. 13, a moving objectproduces (at 1) similar height measurements on 2 adjacent sensors 110.However, the height measurements are produced at times that areseparated by more than a specified time threshold.

Processor 160 may receive (at 2) the output from the 2 adjacent sensors,and may determine (at 3) from timestamps associated with measurementoutput from each of the 2 adjacent sensors, or from when processor 160receives (at 2) the output from each of the 2 adjacent sensors, that thetiming of the measurements is not within the specified time threshold.For instance, the time threshold may require that measurements outputfrom sensors 110 should be within 3 milliseconds (“ms”) of one anotherto be considered part of the same object, and the measurements taken bythe 2 adjacent sensors in FIG. 13 differ by 5 ms. Accordingly, processor160 may determine that the sensor output is produced by two separateobjects or an object with a shape that is different from the shape ofthe desired target object. Accordingly, processor 160 may detect thefalse positive and may ignore (at 4) the output rather than determine aposition of the object within a user-defined strike zone.

FIG. 14 illustrates an example of anomaly detection by tracking device100 that is based on the height measurements output from sensors 110 inaccordance with some embodiments presented herein. As shown in FIG. 14,a moving object simultaneously or contemporaneously produces (at 1)height measurements on 2 adjacent sensors 110. However, the heightmeasurements differ by a distance that is greater than a specifieddistance threshold. The different height measurement may be due to thedetection of two separate objects or an undesired object with anirregular shape or shape that is different than that of the desiredtarget object.

Processor 160 may receive (at 2) the output from the 2 adjacent sensors,and may determine (at 3) from the height measurement output from each ofthe 2 adjacent sensors that the difference between the heightmeasurements is greater than the specified distance threshold. Forinstance, the distance threshold may require that height measurementsoutput from sensors 110 should be within 20 millimeters (“mm”) of oneanother to be considered part of the same object, and the heightmeasurements taken by the 2 adjacent sensors in FIG. 14 differ by 50 mm.Accordingly, processor 160 may detect the false positive and may ignore(at 4) the output rather than determine a position of the object withina user-defined strike zone.

FIG. 15 illustrates an example of a moving object that does not triggerthe anomaly detection and produces valid output tracked by trackingdevice 100 in accordance with some embodiments presented herein. Asshown in FIG. 15, a moving object simultaneously or contemporaneouslyproduces (at 1) height measurements on 2 adjacent sensors 110.

Processor 160 may receive (at 2) the output from the 2 adjacent sensors.Processor 160 may perform a series of anomaly checks against thereceived (at 2) output. For instance, processor 160 may compare (at 3)identifiers that identify which sensors 110 produced the output in orderto verify that the output comes from adjacent sensors. Processor 160 maycompare (at 4) timestamps or times when the output is received (at 2)from each sensor in order to verify that the output is producedsimultaneously and/or contemporaneously (e.g., within 3 ms) which is oneindicia that the output is produced by the same object. Processor 160may compare (at 5) the height measurements in the received output inorder to verify that the measured distances indicate the same objectcreating the measurements.

In response to successfully completing each of the checks, processor 160may determine that the measurements are valid and for the desired targetobject. Accordingly, processor 160 may record (at 6) the measurementsand/or derive results from the received (at 2) output.

In some embodiments, tracking device 100 may improve accuracy of atracked object by recording a location for the object that is derivedfrom a center point of the subset of sensors 110 producing the outputused to detect the object. For instance, in FIG. 15, tracking device 100may identify the horizontal position of the pitch to have a coordinateor value that is in between the horizontal coordinates or values of the2 adjacent sensors used to detect the pitch. Similarly, tracking device100 may identify the vertical position of the pitch to have a coordinateor value that is in between the vertical coordinates or valuesidentified in the height measurements output from the 2 adjacentsensors. Thus if the first detecting sensor in FIG. 15 output ameasurement of (x1,y1) and the adjacent second detecting sensor in FIG.15 output a measurement of (x2,y2), processor 160 may compute a locationof ((x1+x2)/2,(y1+y2)/2) for the detected pitch. When an odd number(e.g., 3) of sensors 110 are used to detect an object, then trackingdevice 100 may set the horizontal position of the object to coincidewith the position of the middle detecting sensor, and may set thevertical position of the object to be the centermost height measurementor an average of the height measurements.

In some embodiments, tracking device 100 may improve training, practice,and/or gameplay by using network connectivity 140 to integrate withother third-party devices. In particular, tracking device 100 mayincorporate input from one or more third-party devices with the resultsproduced by tracking device 100 from the verified and validated outputof sensors 110. For instance, an umpire, coach, pitcher, or other usermay input their classification of a pitch on a third-party device, andthe input from the third-party device may be compared against outputproduced by tracking device 100 for the same pitch to determine theaccuracy of the classification made by the user. In some embodiments,tracking device 100 may improve training, practice, and/or gameplay bydirectly incorporating input from a user via microphone 130 or othercomponent of tracking device 100 without the need for incorporating theinput from a third-party device used by the user.

FIG. 16 illustrates an example of incorporating input from third-partydevice 1610 or user 1615 with output of tracking device 100 inaccordance with some embodiments presented herein. A network connectionmay be established (at 1) between third-party device 1610 of user 1615and tracking device 100. However, the network connection may be optionalwhen incorporating input directly from user 1615 using microphone 130 oftracking device 100.

Sensors 110 of tracking device 100 may detect a moving object. Inresponse to detecting the moving object, sensors 110 may produce outputwith measurements and/or other data for when the moving object crossedover tracking device 100.

Based on the sensor output and a configured user-defined strike zone,tracking device 100, by operation of processor 160, may determine (at 2)that the moving object is a pitch that falls within the bottom rightcorner of the user-defined strike zone. Accordingly, processor 160 mayclassify the pitch as a strike and may store location information forthat pitch relative to the user-defined strike zone.

Tracking device 100 may receive (at 4 or 4′) input from user 1615. Insome embodiments, the input may be obtained (at 4) using microphone 130to record an audible “ball” call spoken (at 3) by user 1615. In somesuch embodiments, tracking device 100 may operate without establishingthe network connection to user device 1610. In some other embodiments,the input may be obtained (at 4′) via wireless messaging that is passedfrom user device 1610 to tracking device 100 via network connectivity140 and/or the network connection established with user device 1610. Forinstance, user 1615 may access an application running on user device1610, and may provide (at 3′) input to the application that classifiesthe pitch as a ball or a strike by pressing one of two buttons.Additionally, user 1615 may provide input that identifies a position ofthe pitch in the strike zone as observed by user 1615.

Tracking device 100, by operation of processor 160, may compare thereceived (at 4 or 4′) input against the result determined from thesensor output to further determine if the input from user 1615 isaccurate or inaccurate. In the example illustrated by FIG. 16, user 1615issues a “ball” call for the observed pitch while tracking device 100determines that the pitch falls within the user-defined strike zone andis therefore a strike. Accordingly, tracking device 100, by operation ofprocessor 160, may track (at 5) the user's call as a missed orinaccurate call. Tracking device 100 may further track (at 5) thedetected location of the pitch in the user-defined strike zone with theinaccurate call of user 1615 to provide visual feedback for training,game, or other purposes. The results may be tracked to memory or storage150 with results from other pitches. The tracked results can besubsequently accessed by user 1615 or another user to determine accuracyand/or to train the user. In some embodiments, a summarized view of allcalls and tracked results may be presented with or without each call andthe corresponding tracked result being presented individually. In someembodiments, each call and the corresponding tracked result istransmitted from tracking device 100 to user device 1610 in real-time aseach call and tracked result is produced.

FIG. 17 illustrates user device 1710 accessing a sequence of results1720 produced by tracking device 100 in accordance with some embodimentspresented herein. As shown in FIG. 17, tracking device 100 may trackresults 1720 of a pitch sequence that incorporates input from user 1715.Specifically, results 1720 identify a location of each pitch in thepitch sequence about a user-defined strike zone based on measurementsobtained from sensors 110. Results 1720 may also identify the input fromuser 1715 that classifies each pitch in the pitch sequence as a ball ora strike.

A result summary may be generated on user device 1710 to identify theoverall accuracy of the user input for identifying the pitches of thepitch sequence, and/or to provide additional feedback. For instance, theadditional feedback may include using patterns, artificial intelligence,and/or machine learning to identify specific issues (e.g., missed callsfor low pitches in the corners) that resulted in user inputinaccuracies.

In some embodiments, results 1720 may be presented in a graphical userinterface. The graphical user interface may present the user-definedstrike zone with the detected location of each pitch in the pitchsequence along with the user's call for each pitch. In some embodiments,results 1720 may be presented as textual data, statistical data, or rawdata.

In some embodiments, the comparison of the call to the detected resultmay be performed on user device 1610 instead of tracking device 100. Insome such embodiments, tracking device 100 may submit the pitch result,that is determined from the sensor output, and/or the detected locationof the pitch in the user-defined strike zone to user device 1610. Userdevice 1610 may then compare the user-provided input to the output fromtracking device 100.

Tracking device 100 may implement methods that create training games.For instance, in addition to tracking the location of a pitch, trackingdevice 100 may first notify a pitcher on where to locate the pitch, andmay then determine if the pitcher successfully executed the pitch byhitting the identified pitch location.

In some embodiments, tracking device 100 may be programmed with a pitchplan. For instance, a connected user device may provide the pitch planto tracking device 100 via a set of messages. The pitch plan may includea sequence of pitches for hitting different locations in one or moreuser-defined strike zones, and/or may further include instructions forthrowing different types of pitches (e.g., fastball, breaking ball,slider, changeup, etc.) at the different locations. Tracking device 100may then track the accuracy of the pitcher in replicating pitches fromthe pitch plan, and may produce individual pitch results and/or asummarized result for the pitch plan.

FIG. 18 illustrates an example of tracking device 100 executing atraining game method and tracking the user results for the game inaccordance with some embodiments presented herein. Executing thetraining game method may include illuminating (at 1) one or more visualindicators 120 of tracking device 100 to instruct pitcher 1810 on afirst desired pitch location, a type of pitch to throw, and/or otherinstruction. The first desired pitch location may identify the upperleft quadrant of the strike zone. In some embodiments, the instructionnotifying pitcher 1810 of the first desired pitch location may bewirelessly transmitted to user device 1820 of pitcher 1810, a coach, orother user that can relay the instruction to pitcher 1810.

In response to the notification of the first desired pitch location,pitcher 1810 may throw a first pitch attempting to locate the pitch inthe first desired pitch location. Tracking device 100 detects (at 3) theactual location of the first pitch based on measurements and/or outputobtained (at 2) from sensors 110. As shown in FIG. 18, tracking device100 detects (at 3) the actual location of the first pitch to fall withinthe middle left quadrant which misses the first desired pitch locationof the upper left quadrant. Accordingly, tracking device 100 may recordfirst pitch result 1830 in memory or storage 150. First pitch result1830 may include an indication that the first desired pitch location wasmissed or was not successfully executed. First pitch result 1830 mayinclude data that identifies the actual pitch location and the firstdesired pitch location in the strike zone.

In response to detecting that the first pitch was thrown or recordingfirst pitch result 1830, tracking device 100 may advance through theconfigured pitch plan by illuminating (at 4) one or more visualindicators 120 of tracking device 100 to instruct pitcher 1810 on adifferent second desired pitch location, a second type of pitch tothrow, and/or other instruction. The second desired pitch location mayidentify the bottom middle quadrant of the strike zone.

In response to the notification of the second desired pitch location,pitcher 1810 may throw a second pitch, and may attempt to locate thesecond pitch in the second desired pitch location. Tracking device 100detects (at 6) the actual location of the second pitch based onmeasurements and/or output obtained (at 5) from sensors 110. As shown inFIG. 18, tracking device 100 detects (at 6) the actual location of thesecond pitch to intersect the middle bottom quadrant which hits ormatches the second desired pitch location of the bottom middle quadrant.Accordingly, tracking device 100 may record second pitch result 1840 inmemory or storage 150 to include an indication that the second desiredpitch location was successfully executed and/or to include data thatidentifies the actual location of the second pitch and the seconddesired pitch location in the strike zone.

In some embodiments, first pitch result 1830 may be transmitted to userdevice 1820 after result 1830 is generated, and second pitch result 1840may be transmitted to user device 1820 after result 1840 is generated.In some other embodiments, tracking device 100 may provide (at 7) firstpitch result 1830 and second pitch result 1840, other pitch results,and/or a summarized presentation of the pitch results to user device1820 at the end of a pitch sequence.

FIG. 19 is a diagram of example components of device 1900. Device 1900may be used to implement one or more of the devices or systems describedabove (e.g., tracking device 100, user devices, etc.). Device 1900 mayinclude bus 1910, processor 1920, memory 1930, input component 1940,output component 1950, and communication interface 1960. In anotherimplementation, device 1900 may include additional, fewer, different, ordifferently arranged components.

Bus 1910 may include one or more communication paths that permitcommunication among the components of device 1900. Processor 1920 mayinclude a processor, microprocessor, or processing logic that mayinterpret and execute instructions. Memory 1930 may include any type ofdynamic storage device that may store information and instructions forexecution by processor 1920, and/or any type of non-volatile storagedevice that may store information for use by processor 1920.

Input component 1940 may include a mechanism that permits an operator toinput information to device 1900, such as a keyboard, a keypad, abutton, a switch, etc. Output component 1950 may include a mechanismthat outputs information to the operator, such as a display, a speaker,one or more light emitting diodes (“LEDs”), etc.

Communication interface 1960 may include any transceiver-like mechanismthat enables device 1900 to communicate with other devices and/orsystems. For example, communication interface 1960 may include anEthernet interface, an optical interface, a coaxial interface, or thelike. Communication interface 1960 may include a wireless communicationdevice, such as an infrared (“IR”) receiver, a Bluetooth® radio, or thelike. The wireless communication device may be coupled to an externaldevice, such as a remote control, a wireless keyboard, a mobiletelephone, etc. In some embodiments, device 1900 may include more thanone communication interface 1960. For instance, device 1900 may includean optical interface and an Ethernet interface.

Device 1900 may perform certain operations relating to one or moreprocesses described above. Device 1900 may perform these operations inresponse to processor 1920 executing software instructions stored in acomputer-readable medium, such as memory 1930. A computer-readablemedium may be defined as a non-transitory memory device. A memory devicemay include space within a single physical memory device or spreadacross multiple physical memory devices. The software instructions maybe read into memory 1930 from another computer-readable medium or fromanother device. The software instructions stored in memory 1930 maycause processor 1920 to perform processes described herein.Alternatively, hardwired circuitry may be used in place of or incombination with software instructions to implement processes describedherein. Thus, implementations described herein are not limited to anyspecific combination of hardware circuitry and software.

The foregoing description of implementations provides illustration anddescription, but is not intended to be exhaustive or to limit thepossible implementations to the precise form disclosed. Modificationsand variations are possible in light of the above disclosure or may beacquired from practice of the implementations. For instance, the devicesmay be arranged according to different peer-to-peer, private,permissioned, and/or other blockchain networks.

The actual software code or specialized control hardware used toimplement an embodiment is not limiting of the embodiment. Thus, theoperation and behavior of the embodiment has been described withoutreference to the specific software code, it being understood thatsoftware and control hardware may be designed based on the descriptionherein.

For example, while series of messages, blocks, and/or signals have beendescribed with regard to some of the above figures, the order of themessages, blocks, and/or signals may be modified in otherimplementations. Further, non-dependent blocks and/or signals may beperformed in parallel. Additionally, while the figures have beendescribed in the context of particular devices performing particularacts, in practice, one or more other devices may perform some or all ofthese acts in lieu of, or in addition to, the above-mentioned devices.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of the possible implementations. Infact, many of these features may be combined in ways not specificallyrecited in the claims and/or disclosed in the specification. Althougheach dependent claim listed below may directly depend on only one otherclaim, the disclosure of the possible implementations includes eachdependent claim in combination with every other claim in the claim set.

Some implementations described herein may be described in conjunctionwith thresholds. The term “greater than” (or similar terms), as usedherein to describe a relationship of a value to a threshold, may be usedinterchangeably with the term “greater than or equal to” (or similarterms). Similarly, the term less than (or similar terms), as used hereinto describe a relationship of a value to a threshold, may be usedinterchangeably with the term “less than or equal to” (or similarterms). As used herein, “exceeding”threshold (or similar terms) may beused interchangeably with “being greater than a threshold,” “beinggreater than equal to a threshold,” “being less than a threshold,”“being less than or equal to a threshold,” or other similar terms,depending on the context in which the threshold is used.

No element, act, or instruction used in the present application shouldbe construed as critical or essential unless explicitly described assuch. An instance of the use of the term “and,” as used herein, does notnecessarily preclude the interpretation that the phrase “and/or” wasintended in that instance. Similarly, an instance of the use of the term“or,” as used herein, does not necessarily preclude the interpretationthat the phrase “and/or” was intended in that instance. Also, as usedherein, the article “a” is intended to include one or more items, andmay be used interchangeably with the phrase “one or more.” Where onlyone item is intended, the terms “one,” “single,” “only,” or similarlanguage is used. Further, the phrase “based on” is intended to mean“based, at least in part, on” unless explicitly stated otherwise.

What is claimed is:
 1. A method comprising: activating a set of sensorsthat are positioned adjacent to one another in a row; detecting movementof an object over a subset of the set of sensors in response to eachparticular sensor of the subset of sensors generating output with atimestamp corresponding to a time at which the particular sensorgenerates the output, and a value corresponding to a height measurementby the particular sensor; discarding the output from the subset ofsensors in response to the output from the subset of sensors deviatingfrom a set of thresholds; and tracking a vertical position and ahorizontal position of the object in response to the output from thesubset of sensors satisfying the set of thresholds, and further inresponse to positioning of the subset of sensors in the row and heightmeasurement generated by each sensor of the subset of sensors.
 2. Themethod of claim 1, wherein discarding the output comprises: determiningthat the output from the subset of sensors violates a positioningthreshold of the set of thresholds based on the output being generatedby at least one sensor that is separated from a next sensor in thesubset of sensors by at least two or more sensors of the set of sensors.3. The method of claim 1, wherein discarding the output comprises:determining that the output from the subset of sensors violates a sizethreshold of the set of thresholds based on the output generated by thesubset of sensors comprising output that is generated by a first numberof the set of sensors that is greater than a high number of sensors setas the size threshold, or that is less than a low number of sensors setas the size threshold.
 4. The method of claim 1, wherein discarding theoutput comprises: determining that a first height measurement generatedby a first sensor of the subset of sensors differs by more than adistance threshold from a second height measurement generated by asecond sensor of the subset of sensors.
 5. The method of claim 1,wherein discarding the output comprises: determining that a firsttimestamp generated by a first sensor of the subset of sensors differentby more than a time threshold from a second timestamp generated by asecond sensor of the subset of sensors.
 6. The method of claim 1,wherein said tracking comprises: verifying that the object has a shapeand size of a target object based on the subset of sensors equaling athreshold number of sensors, the timestamp generated by each of thesubset of sensors falling within a time threshold of one another, andthe height measurement generated by each of the subset of sensors beingwithin a distance threshold of one another.
 7. The method of claim 1further comprising: differentiating between a ball that is thrown and abat that is swung based on one or more of a number and position of thesubset of sensors from the set of sensors, the timestamp of the output,and the height measurement of the output.
 8. The method of claim 7further comprising: detecting the object to be a bat that is swung inresponse to the output from the subset of sensors deviating from the setof thresholds; and detecting the object to be a ball that is thrown inresponse to the output from the subset of sensors satisfying the set ofthresholds.
 9. The method of claim 1 further comprising: deactivating aset of visual indicators of a device with the set of sensors in responseto said discarding; and activating one or more of the set of visualindicators in response to said tracking.
 10. The method of claim 9,wherein said activating comprises: illuminating a first subset of theset of visual indicators in response to tracking the vertical positionand the horizontal position of the object to fall within a definedstrike zone; and illuminating a different second subset of the set ofvisual indicators in response to tracking the vertical position and thehorizontal position of the object to be outside the defined strike zone.11. The method of claim 1 further comprising: providing a firstclassification for the object in response to tracking the verticalposition and the horizontal position of the object to fall within adefined area; and providing a different second classification for theobject in response to tracking the vertical position and the horizontalposition of the object to be outside the defined area.
 12. The method ofclaim 1 further comprising: reproducing a sequence of pitches thrown bya pitcher based on tracking a corresponding sequence of the verticalposition and the horizontal position of the object over a duration. 13.The method of claim 1 further comprising: illuminating one or more of aset of visual indicators of a device with the set of sensors, whereinsaid illuminating indicates a desired vertical position and a desiredhorizontal position at which the object is to cross over the set ofsensors; generating first output in response to tracking the verticalposition and the horizontal position of the object to be within athreshold range of the desired vertical position and the desiredhorizontal position; and generating second output in response totracking the vertical position and the horizontal position of the objectto be outside the threshold range of the desired vertical position andthe desired horizontal position.
 14. The method of claim 1 furthercomprising: tagging the output from each sensor of the subset of sensorswith a different sensor identifier, wherein the sensor identifieridentifies a position of a sensor within the set of sensors; and whereindiscarding the output comprises determining that the subset of sensorsincludes nonadjacent sensors of the set of sensors based on the sensoridentifier tagged with the output.
 15. The method of claim 1 furthercomprising: mapping the vertical position and the horizontal position ofthe object to a defined zone; and providing different classificationsbased on said mapping.
 16. The method of claim 1, wherein said trackingcomprises: defining the horizontal position to correspond to a positionof a middle sensor of the subset of sensors when the subset of sensorscomprises an odd number of sensors.
 17. The method of claim 16, whereinsaid tracking further comprises: defining the horizontal position tocorrespond to a position between two central sensors of the subset ofsensors when the subset of sensors comprises an even number of sensors.18. The method of claim 1 further comprising: defining a plurality ofquadrants distributed across multiple rows within a zone defined by afirst height and a second height; and wherein said tracking comprisesidentifying a location of the object in one or more of the plurality ofquadrants based on a mapping of the vertical position and the horizontalposition of the object to a position of the one or more quadrants. 19.The method of claim 1, wherein said tracking comprises: presenting agraphical user interface displaying a zone within an area tracked by theset of sensors, and the vertical position and the horizontal position ofthe object in the zone.
 20. A device comprising: a set of sensors thatare positioned adjacent to one another in a row; and one or moreprocessors configured to: detect movement of an object over a subset ofthe set of sensors in response to each particular sensor of the subsetof sensors generating output with a timestamp corresponding to a time atwhich the particular sensor generates the output, and a valuecorresponding to a height measurement by the particular sensor; discardthe output from the subset of sensors in response to the output from thesubset of sensors deviating from a set of thresholds; and track avertical position and a horizontal position of the object in response tothe output from the subset of sensors satisfying the set of thresholds,and further in response to positioning of the subset of sensors in therow and height measurement generated by each sensor of the subset ofsensors.